// /////////////////////////////////////////////////////////////////////////////
//
// Name:            asComponents.cpp
// Author:          Michael Bartsch (ZCCdark203)
//
// Desc :           Binds all components to AngelScript.
//
// License:         Copyright (C) 2009 Michael Bartsch and Contributors
//
//                  This program is free software: you can redistribute it
//                  and/or modify it under the terms of the zlib/libpng License.
//                  See main.cpp for conditions of distribution and use.
//
// /////////////////////////////////////////////////////////////////////////////

// Include files
#include "asComponents.h"

#ifdef __COMPILE_WITH_ANGELSCRIPT__

// Scene
#include "scene/asSceneComponent.h"
#include "scene/asAnimatedMeshComponent.h"
#include "scene/asBillboardComponent.h"
#include "scene/asCameraComponent.h"
#include "scene/asImageComponent.h"
#include "scene/asLightComponent.h"
#include "scene/asMeshComponent.h"
#include "scene/asOctTreeComponent.h"
#include "scene/asParticleSysComponent.h"
#include "scene/asSkyBoxComponent.h"
#include "scene/asSkyDomeComponent.h"
#include "scene/asTerrainComponent.h"
#include "scene/asTextBillboardComponent.h"

// Sound
#include "sound/asSoundListenerComponent.h"
#include "sound/asSoundSourceComponent.h"


//! Bind all components so that they can be used within scripts.
void bindComponents(asIScriptEngine *engine)
{
    // Scene
    bindSceneComponent(engine);

    bindAnimatedMeshComponent(engine);
    bindBillboardComponent(engine);
    bindCameraComponent(engine);
    bindImageComponent(engine);
    bindLightComponent(engine);
    bindMeshComponent(engine);
    bindOctTreeComponent(engine);
    bindParticleSysComponent(engine);
    bindSkyBoxComponent(engine);
    bindSkyDomeComponent(engine);
    bindTerrainComponent(engine);
    bindTextBillboardComponent(engine);

    // Sound
#ifdef __COMPILE_WITH_SFML_AUDIO__
    bindSoundListenerComponent(engine);
    bindSoundSourceComponent(engine);
#endif // __COMPILE_WITH_SFML_AUDIO__
}

#endif // __COMPILE_WITH_ANGELSCRIPT__

// End of File
